//////////////////////////////////////////ok
#include"stdafx.h"
#include "bochs.h"


void  IA32_CPU::Resolve16Mod0Rm0(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BX + SI);
}

void  IA32_CPU::Resolve16Mod0Rm1(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BX + DI);
}

void  IA32_CPU::Resolve16Mod0Rm2(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BP + SI);
}

void  IA32_CPU::Resolve16Mod0Rm3(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BP + DI);
}

void  IA32_CPU::Resolve16Mod0Rm4(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) SI;
}

void  IA32_CPU::Resolve16Mod0Rm5(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) DI;
}
 
void  IA32_CPU::Resolve16Mod0Rm6(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = i->displ16u();
}

void IA32_CPU::Resolve16Mod0Rm7(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) BX;
}

void  IA32_CPU::Resolve16Mod1or2Rm0(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BX + SI + (Bit16s) i->displ16u());
}

void  IA32_CPU::Resolve16Mod1or2Rm1(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BX + DI + (Bit16s) i->displ16u());
}

void  IA32_CPU::Resolve16Mod1or2Rm2(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BP + SI + (Bit16s) i->displ16u());
}

void  IA32_CPU::Resolve16Mod1or2Rm3(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BP + DI + (Bit16s) i->displ16u());
}

void  IA32_CPU::Resolve16Mod1or2Rm4(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (SI + (Bit16s) i->displ16u());
}

void  IA32_CPU::Resolve16Mod1or2Rm5(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (DI + (Bit16s) i->displ16u());
}
 
void  IA32_CPU::Resolve16Mod1or2Rm6(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BP + (Bit16s) i->displ16u());
}
 
void  IA32_CPU::Resolve16Mod1or2Rm7(Ia32_Instruction_c *i)
{
  IA32_RMAddr(i) = (Bit16u) (BX + (Bit16s) i->displ16u());
}
